package com.feihao.zhou.workTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.function.BiConsumer;

/**
 * 4. 定义一个泛型为String类型的List集合，统计该集合中每个字符（注意，不是字符串）出现的次数。
 * 例如：集合中有”abc”、”bcd”两个元素，程序最终输出结果为：“a = 1,b = 2,c = 2,d = 1”。
 */
public class Test4 {
    public static void main(String[] args) {

        //定义一个泛型为String类型的List集合
        ArrayList<String> list = new ArrayList<>();
        list.add("abc");
        list.add("bcd");

        //创建map集合：
        HashMap<Character, Integer> map = new HashMap<>();
        int count = 0;
        //遍历取出list集合元素：
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            //获取每个字符串的字母：
            for (int i1 = 0; i1 < s.length(); i1++) {
                char c = s.charAt(i1);
                if (map.containsKey(c)) {
                    Integer integer = map.get(c);
                    integer++;
                    map.put(c, integer);
                } else {
                    map.put(c, 1);
                }
            }

        }

        //遍历打印map集合：
        map.forEach(new BiConsumer<Character, Integer>() {
            @Override
            public void accept(Character character, Integer integer) {
                System.out.print(character + "=" + integer + ", ");
            }
        });
    }
}
